/*
 * IntList.h
 *
 *  Created on: 2011-9-17
 *      Author: Jesse Meng [pingf0@gmail.com]
 */

#ifndef INTLIST_H_
#define INTLIST_H_
#include "../OOStd.h"
#include "ArrayPack.h"

CLASS_RAW(IntListNode){
	IntListNode *prev,*next;
	unsigned int value;
};


CLASS(IntList){
	IntListNode *head,*tail;
	unsigned int len;
	//
		STATIC(IntList);
		iFn insert1,insert,extend,remove1,remove,at,view;
		iFn isEmpty,len,head,tail;
		iFn isHead,isTail;
		iFn push,pop,enQ,deQ,shiftL,shiftR;
		int (*eachSel)(int);
		iFn eachDo;
		//
		iFn atEx;

};


#endif /* INTLIST_H_ */
